package com.marvels.system.common.service;

import java.util.List;
import java.util.Map;

import com.marvels.common.exception.MarvelsBusinessException;
import com.marvels.system.common.dto.SysMenuDTO;
import com.marvels.system.permission.dto.SysRoleDTO;

/**
 * 系统菜单服务接口
 * @author wangliang
 *
 */
public interface SysMenuService {
	/**
	 * 登录用户根据角色权限获取系统菜单树
	 * @return
	 * @throws MarvelsBusinessException
	 */
	public List<SysMenuDTO> getSysRoleMenuTree()throws MarvelsBusinessException;
	
	/**
	 * 获取登录用户所有能访问的系统菜单路径（menuPath）
	 * @return
	 * @throws MarvelsBusinessException
	 */
	public List<String> getUserMenuPath()throws MarvelsBusinessException;
	
	/**
	 * 获取系统全部菜单和当前角色拥有的菜单
	 * @param role
	 * @return
	 * @throws MarvelsBusinessException
	 */
	public Map<String,List> getSysMenuTree(SysRoleDTO role)throws MarvelsBusinessException;
	
	public Map<String,String> getPermissionMap(String userCode);
	
	public Map<String, String> getPermissionUrlMap(String userCode);
}
